﻿using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.Service.Validation;
using Sinacor.Infra.Service.Common;

namespace Sinacor.Servico.Bovespa.Corretagem.BusinessEntity
{
    /// <summary>
    /// Parâmetro de negocio FormadorMercado
    /// </summary>
    public class FormadorMercado : BaseBusinessEntity
    {
        #region Campos

        private System.String _apelidocliente;
        private System.String _ativo;
        private Nullable<System.Int32> _codigoCliente;
        private Nullable<System.DateTime> _dataFinal;
        private Nullable<System.DateTime> _dataInicial;
        private Nullable<System.Decimal> _percentualDesconto;
        private System.String _isin;
        private Enum.TipoMercado _tipoMercado;

        #endregion
        #region Propriedades
        /// <summary>
        /// Apelido Cliente
        /// </summary>
        [NotEmpty(109175,true)]
        public System.String ApelidoCliente
        {
            get { return this._apelidocliente; }
            set { this._apelidocliente = value; }
        }
        /// <summary>
        /// Atibvo
        /// </summary>
        [NotEmpty(109177,true)]
        public System.String Ativo
        {
            get { return _ativo; }
            set { _ativo = value; }
        }
        /// <summary>
        /// Codigo Cleinte
        /// </summary>
        public Nullable<System.Int32> CodigoCliente
        {
            get { return this._codigoCliente; }
            set { this._codigoCliente = value; }
        }
        /// <summary>
        /// DataFinal
        /// </summary>
        [NotNull(109179)]
        public Nullable<System.DateTime> DataFinal
        {
            get { return this._dataFinal; }
            set { this._dataFinal = value; }
        }
        /// <summary>
        /// Data Inicial
        /// </summary>
        [NotNull(109178)]
        public Nullable<System.DateTime> DataInicial
        {
            get { return this._dataInicial; }
            set { this._dataInicial = value; }
        }
        /// <summary>
        /// Percentual Desconto
        /// </summary>
        [NotNull(109185)]
        public Nullable<System.Decimal> PercentualDesconto
        {
            get { return this._percentualDesconto; }
            set { this._percentualDesconto = value; }
        }


        /// <summary>
        /// Código ISIN
        /// </summary>
        public System.String Isin
        {
            get { return this._isin; }
            set { this._isin = value; }
        }
        
        /// <summary>
        /// Tipo Mercado
        /// </summary>
        public Enum.TipoMercado TipoMercado
        {
            get { return _tipoMercado; }
            set { _tipoMercado = value; }
        }
        #endregion
    }
}

